From: Alexander Larsson Date: Wed, 9 Mar 2011 14:59:58 +0000 (+0100) Subject: Constrain zoomed overview windows to the current monitor X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8617 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=df440496eeb6547e32eec4f102334f4836eb1a7e;p=gnome-shell.git Constrain zoomed overview windows to the current monitor Additionally, the constraint to not overlap the panel should only happen on the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 05a22f7e5..974893a27 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -221,8 +221,15 @@ WindowClone.prototype = { let [width, height] = this.actor.get_transformed_size(); - this.actor.x = _clamp(this.actor.x, 0, global.screen_width - width); - this.actor.y = _clamp(this.actor.y, Main.panel.actor.height, global.screen_height - height); + let monitorIndex = this.metaWindow.get_monitor(); + let availArea = global.get_monitors()[monitorIndex]; + if (monitorIndex == global.get_primary_monitor_index()) { + availArea.y += Main.panel.actor.height; + availArea.height -= Main.panel.actor.height; + } + + this.actor.x = _clamp(this.actor.x, availArea.x, availArea.x + availArea.width - width); + this.actor.y = _clamp(this.actor.y, availArea.y, availArea.y + availArea.height - height); }, _zoomStart : function () {